/**
 ****************************************************************************************************
 * @file        lcd_ex.c
 * @author      正点原子团队(ALIENTEK)
 * @version     V1.2
 * @date        2024-12-14
 * @brief       lcd_ex.c存放各个LCD驱动IC的寄存器初始化部分代码,以简化lcd.c,该.c文件
 *              不直接加入到工程里面,只有lcd.c会用到,所以通过include的形式添加.(不要在
 *              其他文件再包含该.c文件!!否则会报错!) 
 * 
 * @license     Copyright (c) 2020-2032, 广州市星翼电子科技有限公司
 ****************************************************************************************************
 * @attention
 *
 * 实验平台:正点原子 STM32F407开发板
 * 在线视频:www.yuanzige.com
 * 技术论坛:www.openedv.com
 * 公司网址:www.alientek.com
 * 购买地址:openedv.taobao.com
 *
 * 修改说明
 * V1.0 20200323
 * 第一次发布
 * V1.1 20230529
 * 1，新增对ST7796和ILI9806 IC支持
 * V1.2 20241214
 * 1，对NT35510 IPS屏幕进行支持
 ****************************************************************************************************
 */
 
#include "./SYSTEM/delay/delay.h"
#include "./BSP/LCD/lcd.h"


/**
 * @brief       ST7789 寄存器初始化代码
 * @param       无
 * @retval      无
 */
void lcd_ex_st7789_reginit(void)
{
    /* ST7789 LCD控制器初始化序列 - 240×320分辨率TFT屏幕 */
    
    /* 1. 退出睡眠模式 */
    lcd_wr_regno(0x11);     /* Sleep Out - 唤醒显示控制器 */
    delay_ms(120);          /* 等待120ms让电源稳定，这个延时必不可少 */

    /* 2. 内存访问控制 - 设置显示方向和RGB顺序 */
    lcd_wr_regno(0x36);     /* Memory Access Control */
    lcd_wr_data(0x00);      /* 正常显示方向，RGB顺序 */

    /* 3. 像素格式设置 */
    lcd_wr_regno(0x3A);     /* Pixel Format Set */
    lcd_wr_data(0X05);      /* 16位RGB565格式 (5-6-5) */

    /* 4. 显示时序控制 - 前后沿时序参数 */
    lcd_wr_regno(0xB2);     /* Porch Control */
    lcd_wr_data(0x0C);      /* 后沿时序参数1 */
    lcd_wr_data(0x0C);      /* 前沿时序参数1 */
    lcd_wr_data(0x00);      /* 分离模式禁用 */
    lcd_wr_data(0x33);      /* 后沿时序参数2 */
    lcd_wr_data(0x33);      /* 前沿时序参数2 */

    /* 5. 显示反转控制 */
    lcd_wr_regno(0xB7);     /* Gate Control */
    lcd_wr_data(0x35);      /* VGH=13.26V, VGL=-10.43V */

    /* 6. VCOM电压设置 - 影响显示对比度和质量 */
    lcd_wr_regno(0xBB);     /* VCOM Setting */
    lcd_wr_data(0x32);      /* VCOM = 1.35V (推荐值，可根据屏幕调整) */

    /* 7. 电源管理寄存器组 */
    lcd_wr_regno(0xC0);     /* LCM Control */
    lcd_wr_data(0x0C);      /* XMY=0, MX=0, MH=0 */

    lcd_wr_regno(0xC2);     /* VDV and VRH Command Enable */
    lcd_wr_data(0x01);      /* 使能VDV和VRH寄存器 */

    lcd_wr_regno(0xC3);     /* VRH Set - 影响GVDD电压 */
    lcd_wr_data(0x10);      /* VRH = 4.45V */

    lcd_wr_regno(0xC4);     /* VDV Set - 影响VDV电压 */
    lcd_wr_data(0x20);      /* VDV = 0V */

    lcd_wr_regno(0xC6);     /* Frame Rate Control */
    lcd_wr_data(0x0f);      /* 60Hz刷新率 */

    /* 8. 电源控制 - 设置AVDD和AVCL */
    lcd_wr_regno(0xD0);     /* Power Control 1 */
    lcd_wr_data(0xA4);      /* AVDD=6.8V */
    lcd_wr_data(0xA1);      /* AVCL=-4.8V */

    /* 9. 正伽马校正 - 优化色彩显示效果 */
    lcd_wr_regno(0xE0);     /* Positive Voltage Gamma Control */
    lcd_wr_data(0xd0);      /* V63P: 灰度级63正电压 */
    lcd_wr_data(0x00);      /* V1P: 灰度级1正电压 */
    lcd_wr_data(0x02);      /* V2P: 灰度级2正电压 */
    lcd_wr_data(0x07);      /* V4P: 灰度级4正电压 */
    lcd_wr_data(0x0a);      /* V6P: 灰度级6正电压 */
    lcd_wr_data(0x28);      /* J0P: 灰度级13正电压 */
    lcd_wr_data(0x32);      /* V20P: 灰度级20正电压 */
    lcd_wr_data(0X44);      /* V36P: 灰度级36正电压 */
    lcd_wr_data(0x42);      /* V43P: 灰度级43正电压 */
    lcd_wr_data(0x06);      /* J1P: 灰度级50正电压 */
    lcd_wr_data(0x0e);      /* V57P: 灰度级57正电压 */
    lcd_wr_data(0x12);      /* V59P: 灰度级59正电压 */
    lcd_wr_data(0x14);      /* V61P: 灰度级61正电压 */
    lcd_wr_data(0x17);      /* V62P: 灰度级62正电压 */

    /* 10. 负伽马校正 - 与正伽马配合优化显示 */
    lcd_wr_regno(0XE1);     /* Negative Voltage Gamma Control */
    lcd_wr_data(0xd0);      /* V63N: 灰度级63负电压 */
    lcd_wr_data(0x00);      /* V1N: 灰度级1负电压 */
    lcd_wr_data(0x02);      /* V2N: 灰度级2负电压 */
    lcd_wr_data(0x07);      /* V4N: 灰度级4负电压 */
    lcd_wr_data(0x0a);      /* V6N: 灰度级6负电压 */
    lcd_wr_data(0x28);      /* J0N: 灰度级13负电压 */
    lcd_wr_data(0x31);      /* V20N: 灰度级20负电压 */
    lcd_wr_data(0x54);      /* V36N: 灰度级36负电压 */
    lcd_wr_data(0x47);      /* V43N: 灰度级43负电压 */
    lcd_wr_data(0x0e);      /* J1N: 灰度级50负电压 */
    lcd_wr_data(0x1c);      /* V57N: 灰度级57负电压 */
    lcd_wr_data(0x17);      /* V59N: 灰度级59负电压 */
    lcd_wr_data(0x1b);      /* V61N: 灰度级61负电压 */
    lcd_wr_data(0x1e);      /* V62N: 灰度级62负电压 */

    /* 11. 设置显示窗口 - 240×320全屏 */
    lcd_wr_regno(0x2A);     /* Column Address Set */
    lcd_wr_data(0x00);      /* 起始列地址高字节 */
    lcd_wr_data(0x00);      /* 起始列地址低字节 (0) */
    lcd_wr_data(0x00);      /* 结束列地址高字节 */
    lcd_wr_data(0xef);      /* 结束列地址低字节 (239) */

    lcd_wr_regno(0x2B);     /* Row Address Set */
    lcd_wr_data(0x00);      /* 起始行地址高字节 */
    lcd_wr_data(0x00);      /* 起始行地址低字节 (0) */
    lcd_wr_data(0x01);      /* 结束行地址高字节 */
    lcd_wr_data(0x3f);      /* 结束行地址低字节 (319) */

    /* 12. 开启显示 */
    lcd_wr_regno(0x29);     /* Display On - 激活显示输出 */
}

/**
 * @brief       ILI9341寄存器初始化代码
 * @param       无
 * @retval      无
 */
void lcd_ex_ili9341_reginit(void)
{
    /* ILI9341 LCD控制器初始化序列 - 240×320分辨率TFT屏幕 */
    /* ILI9341是业界广泛使用的高性能LCD驱动IC，具有优秀的显示效果和稳定性 */
    
    /* 1. 电源序列配置 - 这些寄存器为ILI9341特有的电源管理序列 */
    lcd_wr_regno(0xCF);     /* Power Control B */
    lcd_wr_data(0x00);      /* 参数1: 保留 */
    lcd_wr_data(0xC1);      /* 参数2: 电源控制 */
    lcd_wr_data(0X30);      /* 参数3: 放电路径使能 */
    
    lcd_wr_regno(0xED);     /* Power on Sequence Control */
    lcd_wr_data(0x64);      /* 参数1: 软启动控制 */
    lcd_wr_data(0x03);      /* 参数2: 电源控制 */
    lcd_wr_data(0X12);      /* 参数3: 电源控制 */
    lcd_wr_data(0X81);      /* 参数4: 源极驱动时序控制 */
    
    lcd_wr_regno(0xE8);     /* Driver Timing Control A */
    lcd_wr_data(0x85);      /* 参数1: 栅极驱动时序 */
    lcd_wr_data(0x10);      /* 参数2: 源极驱动时序 */
    lcd_wr_data(0x7A);      /* 参数3: 预充电时序 */
    
    lcd_wr_regno(0xCB);     /* Power Control A */
    lcd_wr_data(0x39);      /* 参数1: 保留 */
    lcd_wr_data(0x2C);      /* 参数2: 保留 */
    lcd_wr_data(0x00);      /* 参数3: 保留 */
    lcd_wr_data(0x34);      /* 参数4: Vcore控制 */
    lcd_wr_data(0x02);      /* 参数5: 保留 */
    
    lcd_wr_regno(0xF7);     /* Pump Ratio Control */
    lcd_wr_data(0x20);      /* 比率控制，DDVDH=2×VCI */
    
    lcd_wr_regno(0xEA);     /* Driver Timing Control B */
    lcd_wr_data(0x00);      /* 参数1: 保留 */
    lcd_wr_data(0x00);      /* 参数2: 保留 */
    
    /* 2. 主要电源控制寄存器 */
    lcd_wr_regno(0xC0);     /* Power Control 1 */
    lcd_wr_data(0x1B);      /* VRH[5:0] - 设置GVDD电压为4.60V */
    
    lcd_wr_regno(0xC1);     /* Power Control 2 */
    lcd_wr_data(0x01);      /* SAP[2:0];BT[3:0] - 设置电源因子 */
    
    /* 3. VCOM控制 - 影响显示对比度和质量 */
    lcd_wr_regno(0xC5);     /* VCM Control 1 */
    lcd_wr_data(0x30);      /* VMH电压设置 */
    lcd_wr_data(0x30);      /* VML电压设置 */
    
    lcd_wr_regno(0xC7);     /* VCM Control 2 */
    lcd_wr_data(0XB7);      /* VCOMH = VMH-58, VCOML = VML-58 */
    
    /* 4. 内存访问控制 - 设置显示方向和颜色格式 */
    lcd_wr_regno(0x36);     /* Memory Access Control */
    lcd_wr_data(0x48);      /* 行列地址顺序，BGR颜色滤波器 */
    
    /* 5. 像素格式设置 */
    lcd_wr_regno(0x3A);     /* Pixel Format Set */
    lcd_wr_data(0x55);      /* 16位/像素 RGB565格式 */
    
    /* 6. 帧率控制 */
    lcd_wr_regno(0xB1);     /* Frame Rate Control */
    lcd_wr_data(0x00);      /* 分频比 */
    lcd_wr_data(0x1A);      /* 帧率设置，约70Hz */
    
    /* 7. 显示功能控制 */
    lcd_wr_regno(0xB6);     /* Display Function Control */
    lcd_wr_data(0x0A);      /* 源极输出方向 */
    lcd_wr_data(0xA2);      /* 栅极扫描方向，LCD驱动线数=320 */
    
    /* 8. 伽马功能控制 */
    lcd_wr_regno(0xF2);     /* 3Gamma Function Disable */
    lcd_wr_data(0x00);      /* 禁用3伽马功能，使用标准伽马 */
    
    lcd_wr_regno(0x26);     /* Gamma Curve Selected */
    lcd_wr_data(0x01);      /* 选择伽马曲线1 */
    
    /* 9. 正伽马校正 - 优化色彩显示效果 */
    lcd_wr_regno(0xE0);     /* Positive Gamma Correction */
    lcd_wr_data(0x0F);      /* VP63 */
    lcd_wr_data(0x2A);      /* VP62 */
    lcd_wr_data(0x28);      /* VP61 */
    lcd_wr_data(0x08);      /* VP59 */
    lcd_wr_data(0x0E);      /* VP57 */
    lcd_wr_data(0x08);      /* VP50 */
    lcd_wr_data(0x54);      /* VP43 */
    lcd_wr_data(0XA9);      /* VP27, VP36 */
    lcd_wr_data(0x43);      /* VP20 */
    lcd_wr_data(0x0A);      /* VP13 */
    lcd_wr_data(0x0F);      /* VP6 */
    lcd_wr_data(0x00);      /* VP4 */
    lcd_wr_data(0x00);      /* VP2 */
    lcd_wr_data(0x00);      /* VP1 */
    lcd_wr_data(0x00);      /* VP0 */
    
    /* 10. 负伽马校正 - 与正伽马配合优化显示 */
    lcd_wr_regno(0XE1);     /* Negative Gamma Correction */
    lcd_wr_data(0x00);      /* VN0 */
    lcd_wr_data(0x15);      /* VN1 */
    lcd_wr_data(0x17);      /* VN2 */
    lcd_wr_data(0x07);      /* VN4 */
    lcd_wr_data(0x11);      /* VN6 */
    lcd_wr_data(0x06);      /* VN13 */
    lcd_wr_data(0x2B);      /* VN20 */
    lcd_wr_data(0x56);      /* VN27, VN36 */
    lcd_wr_data(0x3C);      /* VN43 */
    lcd_wr_data(0x05);      /* VN50 */
    lcd_wr_data(0x10);      /* VN57 */
    lcd_wr_data(0x0F);      /* VN59 */
    lcd_wr_data(0x3F);      /* VN61 */
    lcd_wr_data(0x3F);      /* VN62 */
    lcd_wr_data(0x0F);      /* VN63 */
    
    /* 11. 设置显示窗口 - 240×320全屏 */
    lcd_wr_regno(0x2B);     /* Page Address Set */
    lcd_wr_data(0x00);      /* 起始页地址高字节 */
    lcd_wr_data(0x00);      /* 起始页地址低字节 (0) */
    lcd_wr_data(0x01);      /* 结束页地址高字节 */
    lcd_wr_data(0x3f);      /* 结束页地址低字节 (319) */
    
    lcd_wr_regno(0x2A);     /* Column Address Set */
    lcd_wr_data(0x00);      /* 起始列地址高字节 */
    lcd_wr_data(0x00);      /* 起始列地址低字节 (0) */
    lcd_wr_data(0x00);      /* 结束列地址高字节 */
    lcd_wr_data(0xef);      /* 结束列地址低字节 (239) */
    
    /* 12. 启动显示 */
    lcd_wr_regno(0x11);     /* Sleep Out - 退出睡眠模式 */
    delay_ms(120);          /* 等待120ms让显示稳定 */
    lcd_wr_regno(0x29);     /* Display On - 开启显示输出 */
 }
 

/**
 * @brief       NT35310寄存器初始化代码 
 * @param       无
 * @retval      无
 */
void lcd_ex_nt35310_reginit(void)
{
    /* NT35310 LCD控制器初始化序列 - 高性能大尺寸TFT屏幕 */
    /* NT35310是一款复杂的高端 LCD 驱动IC，支持多种分辨率和丰富的显示功能 */
    
    /* 1. 初始化控制寄存器 - 基础设置 */
    lcd_wr_regno(0xED);     /* 初始化控制寄存器1 */
    lcd_wr_data(0x01);      /* 初始化参数1 */
    lcd_wr_data(0xFE);      /* 初始化参数2 */

    lcd_wr_regno(0xEE);     /* 初始化控制寄存器2 */
    lcd_wr_data(0xDE);      /* 初始化参数3 */
    lcd_wr_data(0x21);      /* 初始化参数4 */

    /* 2. 功能控制寄存器设置 */
    lcd_wr_regno(0xF1);     /* 功能控制寄存器 */
    lcd_wr_data(0x01);      /* 功能控制参数 */
    lcd_wr_regno(0xDF);     /* 显示功能控制 */
    lcd_wr_data(0x10);      /* 显示功能参数 */

    /* 3. VCOM电压设置 - 影响显示对比度 */
    lcd_wr_regno(0xC4);     /* VCOM电压控制寄存器 */
    lcd_wr_data(0x8F);      /* VCOM电压值设置（可调范围） */

    /* 4. 显示控制参数设置 */
    lcd_wr_regno(0xC6);     /* 显示控制寄存器 */
    lcd_wr_data(0x00);      /* 显示控制参数1 */
    lcd_wr_data(0xE2);      /* 显示控制参数2-4（相同值） */
    lcd_wr_data(0xE2);      
    lcd_wr_data(0xE2);      
    lcd_wr_regno(0xBF);     /* 显示辅助控制 */
    lcd_wr_data(0xAA);      /* 辅助控制参数 */

    /* 5. 伽马校正参数组 - B0寄存器系列 */
    lcd_wr_regno(0xB0);     /* 伽马校正参数组1 - 18个参数点 */
    lcd_wr_data(0x0D);      /* 伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x0D);      /* 伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x11);      /* 伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x19);      /* 伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x21);      /* 伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x2D);      /* 伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x3D);      /* 伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x5D);      /* 伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x5D);      /* 伽马点9 */
    lcd_wr_data(0x00);

    /* 6. 伽马校正参数组 - B1寄存器系列 */
    lcd_wr_regno(0xB1);     /* 伽马校正参数组2 - 6个参数点 */
    lcd_wr_data(0x80);      /* 伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x8B);      /* 伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x96);      /* 伽马点12 */
    lcd_wr_data(0x00);

    /* 7. 伽马校正参数组 - B2寄存器系列 */
    lcd_wr_regno(0xB2);     /* 伽马校正参数组3 - 6个参数点 */
    lcd_wr_data(0x00);      /* 伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x02);      /* 伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x03);      /* 伽马点15 */
    lcd_wr_data(0x00);

    /* 8. 伽马校正参数组 - B3寄存器系列 */
    lcd_wr_regno(0xB3);     /* 伽马校正参数组4 - 24个保留参数 */
    /* B3寄存器的24个参数均为0x00，为保留设置 */
    lcd_wr_data(0x00);      /* 保留参数1 */
    lcd_wr_data(0x00);      /* 保留参数2 */
    lcd_wr_data(0x00);      /* 保留参数3 */
    lcd_wr_data(0x00);      /* 保留参数4 */
    lcd_wr_data(0x00);      /* 保留参数5 */
    lcd_wr_data(0x00);      /* 保留参数6 */
    lcd_wr_data(0x00);      /* 保留参数7 */
    lcd_wr_data(0x00);      /* 保留参数8 */
    lcd_wr_data(0x00);      /* 保留参数9 */
    lcd_wr_data(0x00);      /* 保留参数10 */
    lcd_wr_data(0x00);      /* 保留参数11 */
    lcd_wr_data(0x00);      /* 保留参数12 */
    lcd_wr_data(0x00);      /* 保留参数13 */
    lcd_wr_data(0x00);      /* 保留参数14 */
    lcd_wr_data(0x00);      /* 保留参数15 */
    lcd_wr_data(0x00);      /* 保留参数16 */
    lcd_wr_data(0x00);      /* 保留参数17 */
    lcd_wr_data(0x00);      /* 保留参数18 */
    lcd_wr_data(0x00);      /* 保留参数19 */
    lcd_wr_data(0x00);      /* 保留参数20 */
    lcd_wr_data(0x00);      /* 保留参数21 */
    lcd_wr_data(0x00);      /* 保留参数22 */
    lcd_wr_data(0x00);      /* 保留参数23 */
    lcd_wr_data(0x00);      /* 保留参数24 */

    /* 9. 伽马校正参数组 - B4寄存器系列 */
    lcd_wr_regno(0xB4);     /* 伽马校正参数组5 - 6个参数点 */
    lcd_wr_data(0x8B);      /* 伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x96);      /* 伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA1);      /* 伽马点18 */
    lcd_wr_data(0x00);

    /* 10. 伽马校正参数组 - B5寄存器系列 */
    lcd_wr_regno(0xB5);     /* 伽马校正参数组6 - 6个参数点 */
    lcd_wr_data(0x02);      /* 伽马点19 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x03);      /* 伽马点20 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x04);      /* 伽马点21 */
    lcd_wr_data(0x00);

    /* 11. 伽马校正参数组 - B6寄存器系列 */
    lcd_wr_regno(0xB6);     /* 伽马校正参数组7 - 2个参数点 */
    lcd_wr_data(0x00);      /* 伽马点22 */
    lcd_wr_data(0x00);

    /* 12. 伽马校正参数组 - B7寄存器系列 */
    lcd_wr_regno(0xB7);     /* 伽马校正参数组8 - 20个参数点 */
    lcd_wr_data(0x00);      /* 伽马点23 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x3F);      /* 伽马点24 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x5E);      /* 伽马点25 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x64);      /* 伽马点26 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x8C);      /* 伽马点27 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xAC);      /* 伽马点28 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xDC);      /* 伽马点29 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x70);      /* 伽马点30 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x90);      /* 伽马点31 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xEB);      /* 伽马点32 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xDC);      /* 伽马点33 */
    lcd_wr_data(0x00);

    /* 13. 伽马校正参数组 - B8寄存器系列 */
    lcd_wr_regno(0xB8);     /* 伽马校正参数组9 - 8个保留参数 */
    lcd_wr_data(0x00);      /* B8保留参数1 */
    lcd_wr_data(0x00);      /* B8保留参数2 */
    lcd_wr_data(0x00);      /* B8保留参数3 */
    lcd_wr_data(0x00);      /* B8保留参数4 */
    lcd_wr_data(0x00);      /* B8保留参数5 */
    lcd_wr_data(0x00);      /* B8保留参数6 */
    lcd_wr_data(0x00);      /* B8保留参数7 */
    lcd_wr_data(0x00);      /* B8保留参数8 */

    /* 14. 显示控制辅助寄存器 - BA寄存器系列 */
    lcd_wr_regno(0xBA);     /* 显示控制辅助寄存器 */
    lcd_wr_data(0x24);      /* 辅助控制参数1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x00);      /* 辅助控制参数2-3（保留） */
    lcd_wr_data(0x00);

    /* 15. 电源控制寄存器 - C1寄存器系列 */
    lcd_wr_regno(0xC1);     /* 电源控制寄存器 */
    lcd_wr_data(0x20);      /* 电源控制参数1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x54);      /* 电源控制参数2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xFF);      /* 电源控制参数3 */
    lcd_wr_data(0x00);

    /* 16. 电源控制寄存器2 - C2寄存器系列 */
    lcd_wr_regno(0xC2);     /* 电源控制寄存器2 */
    lcd_wr_data(0x0A);      /* 电源控制参数4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x04);      /* 电源控制参数5 */
    lcd_wr_data(0x00);

    /* 17. 高级伽马校正参数 - C3寄存器系列 */
    lcd_wr_regno(0xC3);     /* 高级伽马校正参数组 - 56个参数点 */
    lcd_wr_data(0x3C);      /* 高级伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x3A);      /* 高级伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x39);      /* 高级伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x37);      /* 高级伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x3C);      /* 高级伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x36);      /* 高级伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x32);      /* 高级伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x2F);      /* 高级伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x2C);      /* 高级伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x29);      /* 高级伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x26);      /* 高级伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x24);      /* 高级伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x24);      /* 高级伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x23);      /* 高级伽马点14 */
    lcd_wr_data(0x00);
    /* 重复的高级伽马参数组 */
    lcd_wr_data(0x3C);      /* 高级伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x36);      /* 高级伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x32);      /* 高级伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x2F);      /* 高级伽马点18 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x2C);      /* 高级伽马点19 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x29);      /* 高级伽马点20 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x26);      /* 高级伽马点21 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x24);      /* 高级伽马点22 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x24);      /* 高级伽马点23 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x23);      /* 高级伽马点24 */
    lcd_wr_data(0x00);

    /* 18. 时序控制参数 - C4寄存器系列 */
    lcd_wr_regno(0xC4);     /* 时序控制参数组 - 16个参数点 */
    lcd_wr_data(0x62);      /* 时序参数1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x05);      /* 时序参数2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x84);      /* 时序参数3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF0);      /* 时序参数4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x18);      /* 时序参数5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA4);      /* 时序参数6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x18);      /* 时序参数7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x50);      /* 时序参数8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x0C);      /* 时序参数9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x17);      /* 时序参数10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x95);      /* 时序参数11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* 时序参数12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xE6);      /* 时序参数13 */
    lcd_wr_data(0x00);

    /* 19. 高级时序控制参数 - C5寄存器系列 */
    lcd_wr_regno(0xC5);     /* 高级时序控制参数组 - 10个参数点 */
    lcd_wr_data(0x32);      /* 高级时序参数1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* 高级时序参数2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x65);      /* 高级时序参数3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x76);      /* 高级时序参数4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x88);      /* 高级时序参数5 */
    lcd_wr_data(0x00);

    /* 20. 显示控制参数 - C6寄存器系列 */
    lcd_wr_regno(0xC6);     /* 显示控制参数组 - 6个参数点 */
    lcd_wr_data(0x20);      /* 显示控制参数1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x17);      /* 显示控制参数2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x01);      /* 显示控制参数3 */
    lcd_wr_data(0x00);

    /* 21. 保留控制寄存器 - C7寄存器系列 */
    lcd_wr_regno(0xC7);     /* 保留控制寄存器1 - 4个保留参数 */
    lcd_wr_data(0x00);      /* C7保留参数1 */
    lcd_wr_data(0x00);      /* C7保留参数2 */
    lcd_wr_data(0x00);      /* C7保留参数3 */
    lcd_wr_data(0x00);      /* C7保留参数4 */

    /* 22. 保留控制寄存器 - C8寄存器系列 */
    lcd_wr_regno(0xC8);     /* 保留控制寄存器2 - 4个保留参数 */
    lcd_wr_data(0x00);      /* C8保留参数1 */
    lcd_wr_data(0x00);      /* C8保留参数2 */
    lcd_wr_data(0x00);      /* C8保留参数3 */
    lcd_wr_data(0x00);      /* C8保留参数4 */

    /* 23. 保留控制寄存器 - C9寄存器系列 */
    lcd_wr_regno(0xC9);     /* 保留控制寄存器3 - 16个保留参数 */
    lcd_wr_data(0x00);      /* C9保留参数1 */
    lcd_wr_data(0x00);      /* C9保留参数2 */
    lcd_wr_data(0x00);      /* C9保留参数3 */
    lcd_wr_data(0x00);      /* C9保留参数4 */
    lcd_wr_data(0x00);      /* C9保留参数5 */
    lcd_wr_data(0x00);      /* C9保留参数6 */
    lcd_wr_data(0x00);      /* C9保留参数7 */
    lcd_wr_data(0x00);      /* C9保留参数8 */
    lcd_wr_data(0x00);      /* C9保留参数9 */
    lcd_wr_data(0x00);      /* C9保留参数10 */
    lcd_wr_data(0x00);      /* C9保留参数11 */
    lcd_wr_data(0x00);      /* C9保留参数12 */
    lcd_wr_data(0x00);      /* C9保留参数13 */
    lcd_wr_data(0x00);      /* C9保留参数14 */
    lcd_wr_data(0x00);      /* C9保留参数15 */
    lcd_wr_data(0x00);      /* C9保留参数16 */

    /* 24. 最终伽马校正参数 - E0寄存器系列 */
    lcd_wr_regno(0xE0);     /* 最终伽马校正参数组 - 34个参数点 */
    lcd_wr_data(0x16);      /* 最终伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x1C);      /* 最终伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x21);      /* 最终伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x36);      /* 最终伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x46);      /* 最终伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x52);      /* 最终伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x64);      /* 最终伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x7A);      /* 最终伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x8B);      /* 最终伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* 最终伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA8);      /* 最终伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xB9);      /* 最终伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC4);      /* 最终伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xCA);      /* 最终伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD2);      /* 最终伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD9);      /* 最终伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xE0);      /* 最终伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* 最终伽马点18 */
    lcd_wr_data(0x00);

    /* 25. 伽马校正参数组E1 - E1寄存器系列 */
    lcd_wr_regno(0xE1);     /* 伽马校正参数组E1 - 36个参数点 */
    lcd_wr_data(0x16);      /* E1伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x1C);      /* E1伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x22);      /* E1伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x36);      /* E1伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x45);      /* E1伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x52);      /* E1伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x64);      /* E1伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x7A);      /* E1伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x8B);      /* E1伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E1伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA8);      /* E1伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xB9);      /* E1伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC4);      /* E1伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xCA);      /* E1伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD2);      /* E1伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD8);      /* E1伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xE0);      /* E1伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* E1伽马点18 */
    lcd_wr_data(0x00);

    /* 26. 伽马校正参数组E2 - E2寄存器系列 */
    lcd_wr_regno(0xE2);     /* 伽马校正参数组E2 - 36个参数点 */
    lcd_wr_data(0x05);      /* E2伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x0B);      /* E2伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x1B);      /* E2伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x34);      /* E2伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* E2伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x4F);      /* E2伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x61);      /* E2伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x79);      /* E2伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x88);      /* E2伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x97);      /* E2伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA6);      /* E2伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xB7);      /* E2伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC2);      /* E2伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC7);      /* E2伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD1);      /* E2伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD6);      /* E2伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xDD);      /* E2伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* E2伽马点18 */
    lcd_wr_data(0x00);
    /* 27. 伽马校正参数组E3 - E3寄存器系列 */
    lcd_wr_regno(0xE3);     /* 伽马校正参数组E3 - 继续36个参数点 */
    lcd_wr_data(0x05);      /* E3伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x0A);      /* E3伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x1C);      /* E3伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x33);      /* E3伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* E3伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x50);      /* E3伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x62);      /* E3伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x78);      /* E3伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x88);      /* E3伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x97);      /* E3伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA6);      /* E3伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xB7);      /* E3伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC2);      /* E3伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC7);      /* E3伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD1);      /* E3伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD5);      /* E3伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xDD);      /* E3伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* E3伽马点18 */
    lcd_wr_data(0x00);

    /* 28. 伽马校正参数组E4 - E4寄存器系列 */
    lcd_wr_regno(0xE4);     /* 伽马校正参数组E4 - 36个参数点 */
    lcd_wr_data(0x01);      /* E4伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x01);      /* E4伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x02);      /* E4伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x2A);      /* E4伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x3C);      /* E4伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x4B);      /* E4伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x5D);      /* E4伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x74);      /* E4伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x84);      /* E4伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x93);      /* E4伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA2);      /* E4伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xB3);      /* E4伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xBE);      /* E4伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC4);      /* E4伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xCD);      /* E4伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD3);      /* E4伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xDD);      /* E4伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* E4伽马点18 */
    lcd_wr_data(0x00);
    /* 29. 伽马校正参数组E5 - E5寄存器系列 */
    lcd_wr_regno(0xE5);     /* 伽马校正参数组E5 - 36个参数点 */
    lcd_wr_data(0x00);      /* E5伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x00);      /* E5伽马点2 */
    lcd_wr_data(0x00);      /* E5伽马点3 */
    lcd_wr_data(0x02);      /* E5伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x29);      /* E5伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x3C);      /* E5伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x4B);      /* E5伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x5D);      /* E5伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x74);      /* E5伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x84);      /* E5伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x93);      /* E5伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xA2);      /* E5伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xB3);      /* E5伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xBE);      /* E5伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xC4);      /* E5伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xCD);      /* E5伽马点16 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xD3);      /* E5伽马点17 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xDC);      /* E5伽马点18 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xF3);      /* E5伽马点19 */
    lcd_wr_data(0x00);

    /* 30. 伽马校正参数组E6 - E6寄存器系列 */
    lcd_wr_regno(0xE6);     /* 伽马校正参数组E6 - 32个参数点 */
    lcd_wr_data(0x11);      /* E6伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x34);      /* E6伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x56);      /* E6伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x76);      /* E6伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x77);      /* E6伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x66);      /* E6伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x88);      /* E6伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E6伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xBB);      /* E6伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E6伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x66);      /* E6伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x55);      /* E6伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x55);      /* E6伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x45);      /* E6伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x43);      /* E6伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* E6伽马点16 */
    lcd_wr_data(0x00);

    /* 31. 伽马校正参数组E7 - E7寄存器系列 */
    lcd_wr_regno(0xE7);     /* 伽马校正参数组E7 - 32个参数点 */
    lcd_wr_data(0x32);      /* E7伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x55);      /* E7伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x76);      /* E7伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x66);      /* E7伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x67);      /* E7伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x67);      /* E7伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x87);      /* E7伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E7伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xBB);      /* E7伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E7伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x77);      /* E7伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* E7伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x56);      /* E7伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x23);      /* E7伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x33);      /* E7伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x45);      /* E7伽马点16 */
    lcd_wr_data(0x00);

    /* 32. 伽马校正参数组E8 - E8寄存器系列 */
    lcd_wr_regno(0xE8);     /* 伽马校正参数组E8 - 30个参数点 */
    lcd_wr_data(0x00);      /* E8伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E8伽马点2 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x87);      /* E8伽马点3 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x88);      /* E8伽马点4 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x77);      /* E8伽马点5 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x66);      /* E8伽马点6 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x88);      /* E8伽马点7 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xAA);      /* E8伽马点8 */
    lcd_wr_data(0x00);
    lcd_wr_data(0xBB);      /* E8伽马点9 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x99);      /* E8伽马点10 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x66);      /* E8伽马点11 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x55);      /* E8伽马点12 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x55);      /* E8伽马点13 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* E8伽马点14 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x44);      /* E8伽马点15 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x55);      /* E8伽马点16 */
    lcd_wr_data(0x00);

    /* 33. 伽马校正参数组E9 - E9寄存器系列 */
    lcd_wr_regno(0xE9);     /* 伽马校正参数组E9 - 8个参数点 */
    lcd_wr_data(0xAA);      /* E9伽马点1 */
    lcd_wr_data(0x00);
    lcd_wr_data(0x00);      /* E9伽马点2 */
    lcd_wr_data(0x00);      /* E9伽马点3 */

    /* 34. 寄存器地址复位 - 00寄存器 */
    lcd_wr_regno(0x00);     /* 寄存器地址复位 */
    lcd_wr_data(0xAA);      /* 复位参数 */

    /* 35. 高级显示控制 - CF寄存器系列 */
    lcd_wr_regno(0xCF);     /* 高级显示控制寄存器 - 17个参数 */
    lcd_wr_data(0x00);      /* CF参数1 - 显示控制参数1 */
    lcd_wr_data(0x00);      /* CF参数2 - 显示控制参数2 */
    lcd_wr_data(0x00);      /* CF参数3 - 显示控制参数3 */
    lcd_wr_data(0x00);      /* CF参数4 - 显示控制参数4 */
    lcd_wr_data(0x00);      /* CF参数5 - 显示控制参数5 */
    lcd_wr_data(0x00);      /* CF参数6 - 显示控制参数6 */
    lcd_wr_data(0x00);      /* CF参数7 - 显示控制参数7 */
    lcd_wr_data(0x00);      /* CF参数8 - 显示控制参数8 */
    lcd_wr_data(0x00);      /* CF参数9 - 显示控制参数9 */
    lcd_wr_data(0x00);      /* CF参数10 - 显示控制参数10 */
    lcd_wr_data(0x00);      /* CF参数11 - 显示控制参数11 */
    lcd_wr_data(0x00);      /* CF参数12 - 显示控制参数12 */
    lcd_wr_data(0x00);      /* CF参数13 - 显示控制参数13 */
    lcd_wr_data(0x00);      /* CF参数14 - 显示控制参数14 */
    lcd_wr_data(0x00);      /* CF参数15 - 显示控制参数15 */
    lcd_wr_data(0x00);      /* CF参数16 - 显示控制参数16 */
    lcd_wr_data(0x00);      /* CF参数17 - 显示控制参数17 */

    /* 中间部分包含大量E0-E9寄存器的伽马校正和GIP时序控制参数 */
    /* 这些参数用于精细调节显示效果和时序，具体数值由厂商优化 */
    
    /* 36. 最终控制寄存器设置 - F0寄存器系列 */
    lcd_wr_regno(0xF0);     /* 最终功能控制寄存器 - 5个参数 */
    lcd_wr_data(0x00);      /* F0功能控制参数1 */
    lcd_wr_data(0x50);      /* F0功能控制参数2 */
    lcd_wr_data(0x00);      /* F0功能控制参数3 */
    lcd_wr_data(0x00);      /* F0功能控制参数4 */
    lcd_wr_data(0x00);      /* F0功能控制参数5 */

    /* 37. 扩展功能控制 - F3寄存器 */
    lcd_wr_regno(0xF3);     /* 扩展功能控制寄存器 */
    lcd_wr_data(0x00);      /* F3扩展功能参数 */

    /* 38. 最终时序控制 - F9寄存器系列 */
    lcd_wr_regno(0xF9);     /* 最终时序控制寄存器 - 4个参数 */
    lcd_wr_data(0x06);      /* F9时序参数1 - 时钟控制 */
    lcd_wr_data(0x10);      /* F9时序参数2 - 同步信号 */
    lcd_wr_data(0x29);      /* F9时序参数3 - 数据传输时序 */
    lcd_wr_data(0x00);      /* F9时序参数4 - 预留参数 */

    /* 39. 标准MIPI DCS命令 - 最终显示设置 */
    lcd_wr_regno(0x3A);     /* Pixel Format Set - 像素格式设置 */
    lcd_wr_data(0x55);      /* 16位/像素 RGB565格式 */

    /* 40. 显示开启序列 */
    lcd_wr_regno(0x11);     /* Sleep Out - 退出睡眠模式 */
    delay_ms(100);          /* 等待100ms让显示器稳定 */
    lcd_wr_regno(0x29);     /* Display On - 开启显示输出 */
    lcd_wr_regno(0x35);     /* Tearing Effect Line On - 开启撕裂效应控制 */
    lcd_wr_data(0x00);      /* TE信号模式设置 - V-Sync模式 */

    /* 41. 背光和对比度控制 */
    lcd_wr_regno(0x51);     /* Write Display Brightness - 背光亮度设置 */
    lcd_wr_data(0xFF);      /* 最大亮度 (255/255) */
    lcd_wr_regno(0x53);     /* Write CTRL Display - 显示控制模式 */
    lcd_wr_data(0x2C);      /* 背光控制开启 + 亮度控制开启 */
    lcd_wr_regno(0x55);     /* Write Content Adaptive Brightness - 自适应亮度 */
    lcd_wr_data(0x82);      /* 自适应亮度模式 - 动态调节 */
    lcd_wr_regno(0x2c);     /* Memory Write - 准备写入显存数据 */
}

/**
 * @brief       ST7796寄存器初始化代码 
 * @param       无
 * @retval      无
 */
void lcd_ex_st7796_reginit(void)
{
    /* ST7796 LCD控制器初始化序列 - 320×480分辨率TFT屏幕 */
    /* ST7796是一款高性能的中大尺寸LCD驱动IC，支持高分辨率显示 */
    
    /* 1. 退出睡眠模式 */
    lcd_wr_regno(0x11);     /* Sleep Out - 唤醒显示控制器 */
    delay_ms(120);          /* 等待120ms让电源稳定，必要延时 */

    /* 2. 内存访问控制 - 设置显示方向和颜色顺序 */
    lcd_wr_regno(0x36);     /* Memory Data Access Control */
    lcd_wr_data(0x48);      /* MY=0, MX=1, MV=0, ML=0, BGR=1, MH=0, RGB→BGR */
    
    /* 3. 像素格式设置 */
    lcd_wr_regno(0x3A);     /* Pixel Format Set */
    lcd_wr_data(0x55);      /* 16位/像素 RGB565格式 */
    
    /* 4. 命令集控制 - 开启扩展命令集 */
    lcd_wr_regno(0xF0);     /* Command Set Control */
    lcd_wr_data(0xC3);      /* 开启扩展命令集第一步 */
    
    lcd_wr_regno(0xF0);     /* Command Set Control */
    lcd_wr_data(0x96);      /* 开启扩展命令集第二步 */

    /* 5. 显示反转控制 */
    lcd_wr_regno(0xB4);     /* Display Inversion Control */
    lcd_wr_data(0x01);      /* 1-dot反转 */
    
    /* 6. 显示功能控制 */
    lcd_wr_regno(0xB6);     /* Display Function Control */
    lcd_wr_data(0x0A);      /* 源极输出方向 */
    lcd_wr_data(0xA2);      /* 栅极扫描方向，480线 */

    /* 7. 入口控制 */
    lcd_wr_regno(0xB7);     /* Entry Mode Set */
    lcd_wr_data(0xC6);      /* 设置入口模式参数 */

    /* 8. 帧率控制 */
    lcd_wr_regno(0xB9);     /* Frame Rate Control */
    lcd_wr_data(0x02);      /* 帧率控制参数1 */
    lcd_wr_data(0xE0);      /* 帧率控制参数2，设置为60Hz */

    /* 9. 电源控制寄存器组 */
    lcd_wr_regno(0xC0);     /* Power Control 1 */
    lcd_wr_data(0x80);      /* AVDD = 6.8V, AVCL = -4.8V */
    lcd_wr_data(0x16);      /* VGH = 14.7V, VGL = -10.17V */

    lcd_wr_regno(0xC1);     /* Power Control 2 */
    lcd_wr_data(0x19);      /* VAP = 3.85 + (vcom+vcom offset+vdv) */

    lcd_wr_regno(0xC2);     /* Power Control 3 */
    lcd_wr_data(0xA7);      /* 设置电源相关参数 */

    /* 10. VCOM控制 - 影响显示对比度 */
    lcd_wr_regno(0xC5);     /* VCOM Control */
    lcd_wr_data(0x16);      /* VCOM = -0.9V */

    /* 11. 显示时序调整 */
    lcd_wr_regno(0xE8);     /* Display Output Ctrl Adjust */
    lcd_wr_data(0x40);      /* 源极输出时序调整 */
    lcd_wr_data(0x8A);      /* 栅极输出时序调整 */
    lcd_wr_data(0x00);      /* 时序参数3 */
    lcd_wr_data(0x00);      /* 时序参数4 */
    lcd_wr_data(0x29);      /* 时序参数5 */
    lcd_wr_data(0x19);      /* 时序参数6 */
    lcd_wr_data(0xA5);      /* 时序参数7 */
    lcd_wr_data(0x33);      /* 时序参数8 */

    /* 12. 正伽马校正 - 优化色彩显示效果 */
    lcd_wr_regno(0xE0);     /* Positive Voltage Gamma Control */
    lcd_wr_data(0xF0);      /* VP63 */
    lcd_wr_data(0x07);      /* VP1 */
    lcd_wr_data(0x0D);      /* VP2 */
    lcd_wr_data(0x04);      /* VP4 */
    lcd_wr_data(0x05);      /* VP6 */
    lcd_wr_data(0x14);      /* VP13 */
    lcd_wr_data(0x36);      /* VP20 */
    lcd_wr_data(0x54);      /* VP36 */
    lcd_wr_data(0x4C);      /* VP43 */
    lcd_wr_data(0x38);      /* VP50 */
    lcd_wr_data(0x13);      /* VP57 */
    lcd_wr_data(0x14);      /* VP59 */
    lcd_wr_data(0x2E);      /* VP61 */
    lcd_wr_data(0x34);      /* VP62 */

    /* 13. 负伽马校正 - 与正伽马配合优化显示 */
    lcd_wr_regno(0xE1);     /* Negative Voltage Gamma Control */
    lcd_wr_data(0xF0);      /* VN63 */
    lcd_wr_data(0x10);      /* VN1 */
    lcd_wr_data(0x14);      /* VN2 */
    lcd_wr_data(0x0E);      /* VN4 */
    lcd_wr_data(0x0C);      /* VN6 */
    lcd_wr_data(0x08);      /* VN13 */
    lcd_wr_data(0x35);      /* VN20 */
    lcd_wr_data(0x44);      /* VN36 */
    lcd_wr_data(0x4C);      /* VN43 */
    lcd_wr_data(0x26);      /* VN50 */
    lcd_wr_data(0x10);      /* VN57 */
    lcd_wr_data(0x12);      /* VN59 */
    lcd_wr_data(0x2C);      /* VN61 */
    lcd_wr_data(0x32);      /* VN62 */

    /* 14. 关闭扩展命令集 */
    lcd_wr_regno(0xF0);     /* Command Set Control */
    lcd_wr_data(0x3C);      /* 关闭扩展命令集第一步 */

    lcd_wr_regno(0xF0);     /* Command Set Control */
    lcd_wr_data(0x69);      /* 关闭扩展命令集第二步 */

    delay_ms(120);          /* 等待设置生效 */

    /* 15. 开启显示 */
    lcd_wr_regno(0x21);     /* Display Inversion On - 开启显示反转 */
    lcd_wr_regno(0x29);     /* Display On - 激活显示输出 */
}

/**
 * @brief       NT35510寄存器初始化代码 
 * @param       无
 * @retval      无
 */
void lcd_ex_nt35510_reginit(void)
{
    /* NT35510 LCD控制器初始化序列 - 480×800分辨率TFT屏幕 */
    /* NT35510是一款高性能的中大尺寸LCD驱动IC，支持精细的电源和伽马调节 */
    
    /* 1. 开启扩展命令集 - 访问NT35510特有寄存器 */
    lcd_write_reg(0xF000, 0x55);    /* 扩展命令集激活码1 */
    lcd_write_reg(0xF001, 0xAA);    /* 扩展命令集激活码2 */
    lcd_write_reg(0xF002, 0x52);    /* 扩展命令集激活码3 */
    lcd_write_reg(0xF003, 0x08);    /* 扩展命令集激活码4 */
    lcd_write_reg(0xF004, 0x01);    /* 扩展命令集激活码5 */
    /* 2. AVDD电源控制 - 正电源电压设置 */
    lcd_write_reg(0xB600, 0x34);    /* AVDD比例系数设置1 */
    lcd_write_reg(0xB601, 0x34);    /* AVDD比例系数设置2 */
    lcd_write_reg(0xB602, 0x34);    /* AVDD比例系数设置3 */
    
    lcd_write_reg(0xB000, 0x0D);    /* AVDD=5.2V 电压设置1 (减小此值可增大AVDD电压) */
    lcd_write_reg(0xB001, 0x0D);    /* AVDD=5.2V 电压设置2 */
    lcd_write_reg(0xB002, 0x0D);    /* AVDD=5.2V 电压设置3 */
     
    /* 3. AVEE电源控制 - 负电源电压设置 */
    lcd_write_reg(0xB700, 0x24);    /* AVEE比例系数设置1 */
    lcd_write_reg(0xB701, 0x24);    /* AVEE比例系数设置2 */
    lcd_write_reg(0xB702, 0x24);    /* AVEE比例系数设置3 */
    
    lcd_write_reg(0xB100, 0x0D);    /* AVEE=-5.2V 电压设置1 (减小此值可增大AVEE电压) */
    lcd_write_reg(0xB101, 0x0D);    /* AVEE=-5.2V 电压设置2 */
    lcd_write_reg(0xB102, 0x0D);    /* AVEE=-5.2V 电压设置3 */

    /* 4. VCL电压控制 - 公共电极电压 */
    lcd_write_reg(0xB800, 0x24);    /* VCL电压设置1 */
    lcd_write_reg(0xB801, 0x24);    /* VCL电压设置2 */
    lcd_write_reg(0xB802, 0x24);    /* VCL电压设置3 */

    lcd_write_reg(0xB200, 0x00);    /* 电源控制辅助寄存器 */

    /* 5. VGH电压控制 - 栅极高电压设置 */
    lcd_write_reg(0xB900, 0x24);    /* VGH比例系数设置1 */
    lcd_write_reg(0xB901, 0x24);    /* VGH比例系数设置2 */
    lcd_write_reg(0xB902, 0x24);    /* VGH比例系数设置3 */
    
    lcd_write_reg(0xB300, 0x05);    /* VGH=10.2V 电压设置1 */
    lcd_write_reg(0xB301, 0x05);    /* VGH=10.2V 电压设置2 */
    lcd_write_reg(0xB302, 0x05);    /* VGH=10.2V 电压设置3 */

    /* 6. VGL电压控制 - 栅极低电压设置 */
    lcd_write_reg(0xBA00, 0x34);    /* VGLX比例系数设置1 */
    lcd_write_reg(0xBA01, 0x34);    /* VGLX比例系数设置2 */
    lcd_write_reg(0xBA02, 0x34);    /* VGLX比例系数设置3 */
    
    lcd_write_reg(0xB500, 0x0B);    /* VGL=-12.6V 电压设置1 */
    lcd_write_reg(0xB501, 0x0B);    /* VGL=-12.6V 电压设置2 */
    lcd_write_reg(0xB502, 0x0B);    /* VGL=-12.6V 电压设置3 */

    /* 7. VGMP/VGSP电压设置 - 正伽马参考电压 4.5V */
    lcd_write_reg(0xBC00, 0x00);    /* VGMP电压设置高字节 */
    lcd_write_reg(0xBC01, 0xA3);    /* VGMP电压设置低字节 */
    lcd_write_reg(0xBC02, 0x00);    /* VGSP电压设置 */

    /* 8. VGMN/VGSN电压设置 - 负伽马参考电压 -4.5V */
    lcd_write_reg(0xBD00, 0x00);    /* VGMN电压设置高字节 */
    lcd_write_reg(0xBD01, 0xA3);    /* VGMN电压设置低字节 */
    lcd_write_reg(0xBD02, 0x00);    /* VGSN电压设置 */

    /* 9. VCOM电压设置 - 公共电极电压 -1.25V */
    lcd_write_reg(0xBE00, 0x00);    /* VCOM电压设置高字节 */
    lcd_write_reg(0xBE01, 0x37);    /* VCOM电压设置低字节 (范围:0x64~0x2F) */


    /* 10. 伽马校正设置 - 精确的色彩校正参数 */
    /* NT35510支持6组独立的伽马校正曲线，每组包含52个参数点 */
    /* 伽马校正用于优化显示色彩的线性度和对比度，提升视觉效果 */
    
    /* 伽马校正组1 - D1xx寄存器系列（红色通道正伽马） */
    /* NT35510支持6组独立的伽马校正曲线，每组52个参数点，精确控制色彩显示 */
    lcd_write_reg(0xD100, 0x00);  /* 伽马点1 */
    lcd_write_reg(0xD101, 0x37);  /* 伽马点2 */
    lcd_write_reg(0xD102, 0x00);  /* 伽马点3 */
    lcd_write_reg(0xD103, 0x53);  /* 伽马点4 */
    lcd_write_reg(0xD104, 0x00);  /* 伽马点5 */
    lcd_write_reg(0xD105, 0x79);  /* 伽马点6 */
    lcd_write_reg(0xD106, 0x00);  /* 伽马点7 */
    lcd_write_reg(0xD107, 0x97);  /* 伽马点8 */
    lcd_write_reg(0xD108, 0x00);  /* 伽马点9 */
    lcd_write_reg(0xD109, 0xB1);  /* 伽马点10 */
    lcd_write_reg(0xD10A, 0x00);  /* 伽马点11 */
    lcd_write_reg(0xD10B, 0xD5);  /* 伽马点12 */
    lcd_write_reg(0xD10C, 0x00);  /* 伽马点13 */
    lcd_write_reg(0xD10D, 0xF4);  /* 伽马点14 */
    lcd_write_reg(0xD10E, 0x01);  /* 伽马点15 */
    lcd_write_reg(0xD10F, 0x23);  /* 伽马点16 */
    lcd_write_reg(0xD110, 0x01);  /* 伽马点17 */
    lcd_write_reg(0xD111, 0x49);  /* 伽马点18 */
    lcd_write_reg(0xD112, 0x01);  /* 伽马点19 */
    lcd_write_reg(0xD113, 0x87);  /* 伽马点20 */
    lcd_write_reg(0xD114, 0x01);  /* 伽马点21 */
    lcd_write_reg(0xD115, 0xB6);  /* 伽马点22 */
    lcd_write_reg(0xD116, 0x02);  /* 伽马点23 */
    lcd_write_reg(0xD117, 0x00);  /* 伽马点24 */
    lcd_write_reg(0xD118, 0x02);  /* 伽马点25 */
    lcd_write_reg(0xD119, 0x3B);  /* 伽马点26 */
    lcd_write_reg(0xD11A, 0x02);  /* 伽马点27 */
    lcd_write_reg(0xD11B, 0x3D);  /* 伽马点28 */
    lcd_write_reg(0xD11C, 0x02);  /* 伽马点29 */
    lcd_write_reg(0xD11D, 0x75);  /* 伽马点30 */
    lcd_write_reg(0xD11E, 0x02);  /* 伽马点31 */
    lcd_write_reg(0xD11F, 0xB1);  /* 伽马点32 */
    lcd_write_reg(0xD120, 0x02);  /* 伽马点33 */
    lcd_write_reg(0xD121, 0xD5);  /* 伽马点34 */
    lcd_write_reg(0xD122, 0x03);  /* 伽马点35 */
    lcd_write_reg(0xD123, 0x09);  /* 伽马点36 */
    lcd_write_reg(0xD124, 0x03);  /* 伽马点37 */
    lcd_write_reg(0xD125, 0x28);  /* 伽马点38 */
    lcd_write_reg(0xD126, 0x03);  /* 伽马点39 */
    lcd_write_reg(0xD127, 0x52);  /* 伽马点40 */
    lcd_write_reg(0xD128, 0x03);  /* 伽马点41 */
    lcd_write_reg(0xD129, 0x6B);  /* 伽马点42 */
    lcd_write_reg(0xD12A, 0x03);  /* 伽马点43 */
    lcd_write_reg(0xD12B, 0x8D);  /* 伽马点44 */
    lcd_write_reg(0xD12C, 0x03);  /* 伽马点45 */
    lcd_write_reg(0xD12D, 0xA2);  /* 伽马点46 */
    lcd_write_reg(0xD12E, 0x03);  /* 伽马点47 */
    lcd_write_reg(0xD12F, 0xBB);  /* 伽马点48 */
    lcd_write_reg(0xD130, 0x03);  /* 伽马点49 */
    lcd_write_reg(0xD131, 0xC1);  /* 伽马点50 */
    lcd_write_reg(0xD132, 0x03);  /* 伽马点51 */
    lcd_write_reg(0xD133, 0xC1);  /* 伽马点52 */
                     
    /* 伽马校正组2 - D2xx寄存器系列（绿色通道正伽马） */
    /* 参数与D1组相同，用于绿色通道的伽马校正 */
    lcd_write_reg(0xD200, 0x00);
    lcd_write_reg(0xD201, 0x37);
    lcd_write_reg(0xD202, 0x00);
    lcd_write_reg(0xD203, 0x53);
    lcd_write_reg(0xD204, 0x00);
    lcd_write_reg(0xD205, 0x79);
    lcd_write_reg(0xD206, 0x00);
    lcd_write_reg(0xD207, 0x97);
    lcd_write_reg(0xD208, 0x00);
    lcd_write_reg(0xD209, 0xB1);
    lcd_write_reg(0xD20A, 0x00);
    lcd_write_reg(0xD20B, 0xD5);
    lcd_write_reg(0xD20C, 0x00);
    lcd_write_reg(0xD20D, 0xF4);
    lcd_write_reg(0xD20E, 0x01);
    lcd_write_reg(0xD20F, 0x23);
    lcd_write_reg(0xD210, 0x01);
    lcd_write_reg(0xD211, 0x49);
    lcd_write_reg(0xD212, 0x01);
    lcd_write_reg(0xD213, 0x87);
    lcd_write_reg(0xD214, 0x01);
    lcd_write_reg(0xD215, 0xB6);
    lcd_write_reg(0xD216, 0x02);
    lcd_write_reg(0xD217, 0x00);
    lcd_write_reg(0xD218, 0x02);
    lcd_write_reg(0xD219, 0x3B);
    lcd_write_reg(0xD21A, 0x02);
    lcd_write_reg(0xD21B, 0x3D);
    lcd_write_reg(0xD21C, 0x02);
    lcd_write_reg(0xD21D, 0x75);
    lcd_write_reg(0xD21E, 0x02);
    lcd_write_reg(0xD21F, 0xB1);
    lcd_write_reg(0xD220, 0x02);
    lcd_write_reg(0xD221, 0xD5);
    lcd_write_reg(0xD222, 0x03);
    lcd_write_reg(0xD223, 0x09);
    lcd_write_reg(0xD224, 0x03);
    lcd_write_reg(0xD225, 0x28);
    lcd_write_reg(0xD226, 0x03);
    lcd_write_reg(0xD227, 0x52);
    lcd_write_reg(0xD228, 0x03);
    lcd_write_reg(0xD229, 0x6B);
    lcd_write_reg(0xD22A, 0x03);
    lcd_write_reg(0xD22B, 0x8D);
    lcd_write_reg(0xD22C, 0x03);
    lcd_write_reg(0xD22D, 0xA2);
    lcd_write_reg(0xD22E, 0x03);
    lcd_write_reg(0xD22F, 0xBB);
    lcd_write_reg(0xD230, 0x03);
    lcd_write_reg(0xD231, 0xC1);
    lcd_write_reg(0xD232, 0x03);
    lcd_write_reg(0xD233, 0xC1);

    /* 伽马校正组3 - D3xx寄存器系列（蓝色通道正伽马） */
    /* 参数与前两组相同，用于蓝色通道的伽马校正，52个参数点 */
    lcd_write_reg(0xD300, 0x00);
    lcd_write_reg(0xD301, 0x37);
    lcd_write_reg(0xD302, 0x00);
    lcd_write_reg(0xD303, 0x53);
    lcd_write_reg(0xD304, 0x00);
    lcd_write_reg(0xD305, 0x79);
    lcd_write_reg(0xD306, 0x00);
    lcd_write_reg(0xD307, 0x97);
    lcd_write_reg(0xD308, 0x00);
    lcd_write_reg(0xD309, 0xB1);
    lcd_write_reg(0xD30A, 0x00);
    lcd_write_reg(0xD30B, 0xD5);
    lcd_write_reg(0xD30C, 0x00);
    lcd_write_reg(0xD30D, 0xF4);
    lcd_write_reg(0xD30E, 0x01);
    lcd_write_reg(0xD30F, 0x23);
    lcd_write_reg(0xD310, 0x01);
    lcd_write_reg(0xD311, 0x49);
    lcd_write_reg(0xD312, 0x01);
    lcd_write_reg(0xD313, 0x87);
    lcd_write_reg(0xD314, 0x01);
    lcd_write_reg(0xD315, 0xB6);
    lcd_write_reg(0xD316, 0x02);
    lcd_write_reg(0xD317, 0x00);
    lcd_write_reg(0xD318, 0x02);
    lcd_write_reg(0xD319, 0x3B);
    lcd_write_reg(0xD31A, 0x02);
    lcd_write_reg(0xD31B, 0x3D);
    lcd_write_reg(0xD31C, 0x02);
    lcd_write_reg(0xD31D, 0x75);
    lcd_write_reg(0xD31E, 0x02);
    lcd_write_reg(0xD31F, 0xB1);
    lcd_write_reg(0xD320, 0x02);
    lcd_write_reg(0xD321, 0xD5);
    lcd_write_reg(0xD322, 0x03);
    lcd_write_reg(0xD323, 0x09);
    lcd_write_reg(0xD324, 0x03);
    lcd_write_reg(0xD325, 0x28);
    lcd_write_reg(0xD326, 0x03);
    lcd_write_reg(0xD327, 0x52);
    lcd_write_reg(0xD328, 0x03);
    lcd_write_reg(0xD329, 0x6B);
    lcd_write_reg(0xD32A, 0x03);
    lcd_write_reg(0xD32B, 0x8D);
    lcd_write_reg(0xD32C, 0x03);
    lcd_write_reg(0xD32D, 0xA2);
    lcd_write_reg(0xD32E, 0x03);
    lcd_write_reg(0xD32F, 0xBB);
    lcd_write_reg(0xD330, 0x03);
    lcd_write_reg(0xD331, 0xC1);
    lcd_write_reg(0xD332, 0x03);
    lcd_write_reg(0xD333, 0xC1);

    /* 伽马校正组4 - D4xx寄存器系列（红色通道负伽马） */
    /* 负伽马校正参数，与正伽马配合实现完整的色彩校正 */
    lcd_write_reg(0xD400, 0x00);
    lcd_write_reg(0xD401, 0x37);
    lcd_write_reg(0xD402, 0x00);
    lcd_write_reg(0xD403, 0x53);
    lcd_write_reg(0xD404, 0x00);
    lcd_write_reg(0xD405, 0x79);
    lcd_write_reg(0xD406, 0x00);
    lcd_write_reg(0xD407, 0x97);
    lcd_write_reg(0xD408, 0x00);
    lcd_write_reg(0xD409, 0xB1);
    lcd_write_reg(0xD40A, 0x00);
    lcd_write_reg(0xD40B, 0xD5);
    lcd_write_reg(0xD40C, 0x00);
    lcd_write_reg(0xD40D, 0xF4);
    lcd_write_reg(0xD40E, 0x01);
    lcd_write_reg(0xD40F, 0x23);
    lcd_write_reg(0xD410, 0x01);
    lcd_write_reg(0xD411, 0x49);
    lcd_write_reg(0xD412, 0x01);
    lcd_write_reg(0xD413, 0x87);
    lcd_write_reg(0xD414, 0x01);
    lcd_write_reg(0xD415, 0xB6);
    lcd_write_reg(0xD416, 0x02);
    lcd_write_reg(0xD417, 0x00);
    lcd_write_reg(0xD418, 0x02);
    lcd_write_reg(0xD419, 0x3B);
    lcd_write_reg(0xD41A, 0x02);
    lcd_write_reg(0xD41B, 0x3D);
    lcd_write_reg(0xD41C, 0x02);
    lcd_write_reg(0xD41D, 0x75);
    lcd_write_reg(0xD41E, 0x02);
    lcd_write_reg(0xD41F, 0xB1);
    lcd_write_reg(0xD420, 0x02);
    lcd_write_reg(0xD421, 0xD5);
    lcd_write_reg(0xD422, 0x03);
    lcd_write_reg(0xD423, 0x09);
    lcd_write_reg(0xD424, 0x03);
    lcd_write_reg(0xD425, 0x28);
    lcd_write_reg(0xD426, 0x03);
    lcd_write_reg(0xD427, 0x52);
    lcd_write_reg(0xD428, 0x03);
    lcd_write_reg(0xD429, 0x6B);
    lcd_write_reg(0xD42A, 0x03);
    lcd_write_reg(0xD42B, 0x8D);
    lcd_write_reg(0xD42C, 0x03);
    lcd_write_reg(0xD42D, 0xA2);
    lcd_write_reg(0xD42E, 0x03);
    lcd_write_reg(0xD42F, 0xBB);
    lcd_write_reg(0xD430, 0x03);
    lcd_write_reg(0xD431, 0xC1);
    lcd_write_reg(0xD432, 0x03);
    lcd_write_reg(0xD433, 0xC1);

    /* 伽马校正组5 - D5xx寄存器系列（绿色通道负伽马） */
    /* 绿色通道的负伽马校正参数，52个参数点 */
    lcd_write_reg(0xD500, 0x00);
    lcd_write_reg(0xD501, 0x37);
    lcd_write_reg(0xD502, 0x00);
    lcd_write_reg(0xD503, 0x53);
    lcd_write_reg(0xD504, 0x00);
    lcd_write_reg(0xD505, 0x79);
    lcd_write_reg(0xD506, 0x00);
    lcd_write_reg(0xD507, 0x97);
    lcd_write_reg(0xD508, 0x00);
    lcd_write_reg(0xD509, 0xB1);
    lcd_write_reg(0xD50A, 0x00);
    lcd_write_reg(0xD50B, 0xD5);
    lcd_write_reg(0xD50C, 0x00);
    lcd_write_reg(0xD50D, 0xF4);
    lcd_write_reg(0xD50E, 0x01);
    lcd_write_reg(0xD50F, 0x23);
    lcd_write_reg(0xD510, 0x01);
    lcd_write_reg(0xD511, 0x49);
    lcd_write_reg(0xD512, 0x01);
    lcd_write_reg(0xD513, 0x87);
    lcd_write_reg(0xD514, 0x01);
    lcd_write_reg(0xD515, 0xB6);
    lcd_write_reg(0xD516, 0x02);
    lcd_write_reg(0xD517, 0x00);
    lcd_write_reg(0xD518, 0x02);
    lcd_write_reg(0xD519, 0x3B);
    lcd_write_reg(0xD51A, 0x02);
    lcd_write_reg(0xD51B, 0x3D);
    lcd_write_reg(0xD51C, 0x02);
    lcd_write_reg(0xD51D, 0x75);
    lcd_write_reg(0xD51E, 0x02);
    lcd_write_reg(0xD51F, 0xB1);
    lcd_write_reg(0xD520, 0x02);
    lcd_write_reg(0xD521, 0xD5);
    lcd_write_reg(0xD522, 0x03);
    lcd_write_reg(0xD523, 0x09);
    lcd_write_reg(0xD524, 0x03);
    lcd_write_reg(0xD525, 0x28);
    lcd_write_reg(0xD526, 0x03);
    lcd_write_reg(0xD527, 0x52);
    lcd_write_reg(0xD528, 0x03);
    lcd_write_reg(0xD529, 0x6B);
    lcd_write_reg(0xD52A, 0x03);
    lcd_write_reg(0xD52B, 0x8D);
    lcd_write_reg(0xD52C, 0x03);
    lcd_write_reg(0xD52D, 0xA2);
    lcd_write_reg(0xD52E, 0x03);
    lcd_write_reg(0xD52F, 0xBB);
    lcd_write_reg(0xD530, 0x03);
    lcd_write_reg(0xD531, 0xC1);
    lcd_write_reg(0xD532, 0x03);
    lcd_write_reg(0xD533, 0xC1);

    /* 伽马校正组6 - D6xx寄存器系列（蓝色通道负伽马） */
    /* 蓝色通道的负伽马校正参数，完成RGB三通道的完整伽马校正 */
    lcd_write_reg(0xD600, 0x00);
    lcd_write_reg(0xD601, 0x37);
    lcd_write_reg(0xD602, 0x00);
    lcd_write_reg(0xD603, 0x53);
    lcd_write_reg(0xD604, 0x00);
    lcd_write_reg(0xD605, 0x79);
    lcd_write_reg(0xD606, 0x00);
    lcd_write_reg(0xD607, 0x97);
    lcd_write_reg(0xD608, 0x00);
    lcd_write_reg(0xD609, 0xB1);
    lcd_write_reg(0xD60A, 0x00);
    lcd_write_reg(0xD60B, 0xD5);
    lcd_write_reg(0xD60C, 0x00);
    lcd_write_reg(0xD60D, 0xF4);
    lcd_write_reg(0xD60E, 0x01);
    lcd_write_reg(0xD60F, 0x23);
    lcd_write_reg(0xD610, 0x01);
    lcd_write_reg(0xD611, 0x49);
    lcd_write_reg(0xD612, 0x01);
    lcd_write_reg(0xD613, 0x87);
    lcd_write_reg(0xD614, 0x01);
    lcd_write_reg(0xD615, 0xB6);
    lcd_write_reg(0xD616, 0x02);
    lcd_write_reg(0xD617, 0x00);
    lcd_write_reg(0xD618, 0x02);
    lcd_write_reg(0xD619, 0x3B);
    lcd_write_reg(0xD61A, 0x02);
    lcd_write_reg(0xD61B, 0x3D);
    lcd_write_reg(0xD61C, 0x02);
    lcd_write_reg(0xD61D, 0x75);
    lcd_write_reg(0xD61E, 0x02);
    lcd_write_reg(0xD61F, 0xB1);
    lcd_write_reg(0xD620, 0x02);
    lcd_write_reg(0xD621, 0xD5);
    lcd_write_reg(0xD622, 0x03);
    lcd_write_reg(0xD623, 0x09);
    lcd_write_reg(0xD624, 0x03);
    lcd_write_reg(0xD625, 0x28);
    lcd_write_reg(0xD626, 0x03);
    lcd_write_reg(0xD627, 0x52);
    lcd_write_reg(0xD628, 0x03);
    lcd_write_reg(0xD629, 0x6B);
    lcd_write_reg(0xD62A, 0x03);
    lcd_write_reg(0xD62B, 0x8D);
    lcd_write_reg(0xD62C, 0x03);
    lcd_write_reg(0xD62D, 0xA2);
    lcd_write_reg(0xD62E, 0x03);
    lcd_write_reg(0xD62F, 0xBB);
    lcd_write_reg(0xD630, 0x03);
    lcd_write_reg(0xD631, 0xC1);
    lcd_write_reg(0xD632, 0x03);
    lcd_write_reg(0xD633, 0xC1);

    /* 11. 切换到LV2 Page 0 - 基础显示控制页面 */
    lcd_write_reg(0xF000, 0x55);    /* 页面切换激活码1 */
    lcd_write_reg(0xF001, 0xAA);    /* 页面切换激活码2 */
    lcd_write_reg(0xF002, 0x52);    /* 页面切换激活码3 */
    lcd_write_reg(0xF003, 0x08);    /* 页面切换激活码4 */
    lcd_write_reg(0xF004, 0x00);    /* 切换到Page 0 */

    /* 12. 显示分辨率和接口设置 - 480×800配置 */
    lcd_write_reg(0xB000, 0x00);    /* RGB接口控制1 */
    lcd_write_reg(0xB001, 0x05);    /* RGB接口控制2 */
    lcd_write_reg(0xB002, 0x02);    /* RGB接口控制3 */
    lcd_write_reg(0xB003, 0x05);    /* RGB接口控制4 */
    lcd_write_reg(0xB004, 0x02);    /* RGB接口控制5 */

    /* 13. 显示时序和分辨率设置 */
    lcd_write_reg(0xB600, 0x08);    /* SDT时序控制 */
    lcd_write_reg(0xB500, 0x50);    /* 分辨率设置: 0x50=480×800, 0x6B=480×854 */

    /* 14. 源极保持时间控制 */
    lcd_write_reg(0xB600, 0x05);    /* Source Hold Time设置 */

    /* 15. 栅极均衡控制 */
    lcd_write_reg(0xB700, 0x00);    /* Gate EQ控制1 */
    lcd_write_reg(0xB701, 0x00);    /* Gate EQ控制2 */

    /* 16. 源极均衡控制 (模式2) */
    lcd_write_reg(0xB800, 0x01);    /* Source EQ控制1 */
    lcd_write_reg(0xB801, 0x05);    /* Source EQ控制2 */
    lcd_write_reg(0xB802, 0x05);    /* Source EQ控制3 */
    lcd_write_reg(0xB803, 0x05);    /* Source EQ控制4 */
                    
    /* 17. 反转模式设置 (2点反转) */
    lcd_write_reg(0xBC00, 0x02);    /* 2点反转模式，减少闪烁 */
    lcd_write_reg(0xBC01, 0x00);    /* 反转控制参数2 */
    lcd_write_reg(0xBC02, 0x00);    /* 反转控制参数3 */

    /* 18. BOE厂商默认设置 */
    lcd_write_reg(0xCC00, 0x03);    /* BOE设置参数1 */
    lcd_write_reg(0xCC01, 0x00);    /* BOE设置参数2 */
    lcd_write_reg(0xCC02, 0x00);    /* BOE设置参数3 */

    /* 19. 帧率控制 */
    lcd_write_reg(0xBD00, 0x01);    /* 帧率控制1 */
    lcd_write_reg(0xBD01, 0x84);    /* 帧率控制2 */
    lcd_write_reg(0xBD02, 0x07);    /* 帧率设置: 0x07=标准帧率, 0x1C=高帧率 */
    lcd_write_reg(0xBD03, 0x31);    /* 帧率控制4 */
    lcd_write_reg(0xBD04, 0x00);    /* 帧率控制5 */

    lcd_write_reg(0xBA00, 0x01);    /* 显示控制辅助寄存器 */

    /* 11. 关闭扩展命令集 - 返回标准命令模式 */
    lcd_write_reg(0xFF00, 0xAA);    /* 扩展命令集关闭码1 */
    lcd_write_reg(0xFF01, 0x55);    /* 扩展命令集关闭码2 */
    lcd_write_reg(0xFF02, 0x25);    /* 扩展命令集关闭码3 */
    lcd_write_reg(0xFF03, 0x01);    /* 扩展命令集关闭码4 */

    /* 12. 显示时序控制 - 4H时序延迟设置 */
    lcd_write_reg(0x3600, 0x40);    /* 内存访问控制 - 设置扫描方向 */
    lcd_write_reg(0x3500, 0x00);    /* 撕裂效应线关闭 */

    lcd_write_reg(0x3A00, 0x05);    /* 像素格式设置 - 16位RGB565格式 */

    /* 13. 启动显示序列 */
    lcd_wr_regno(0x1100);           /* Sleep Out - 退出睡眠模式 */
    delay_ms(120);                  /* 等待120ms让显示稳定 */
    lcd_wr_regno(0x2900);           /* Display On - 开启显示输出 */
    delay_ms(10);                   /* 等待10ms确保显示开启 */
    lcd_wr_regno(0x2C00);           /* Memory Write - 准备写入显存 */
}

/**
 * @brief       ILI9806寄存器初始化代码 
 * @param       无
 * @retval      无
 */
void lcd_ex_ili9806_reginit(void)
{
    /* ILI9806 LCD控制器初始化序列 - 480×800分辨率TFT屏幕 */
    /* ILI9806是一款高分辨率的中大尺寸LCD驱动IC，支持优秀的显示效果 */
    
    /* 1. 开启扩展命令集 - ILI9806特有功能 */
    lcd_wr_regno(0xFF);     /* EXTC Command Set Enable Register */
    lcd_wr_data(0xFF);      /* 扩展命令集激活码1 */
    lcd_wr_data(0x98);      /* 扩展命令集激活码2 */
    lcd_wr_data(0x06);      /* 扩展命令集激活码3 */

    /* 2. GIP时序控制器配置 - 第一组 */
    lcd_wr_regno(0xBC);     /* GIP 1 - Gate In Panel 时序控制 */
    lcd_wr_data(0x01);      /* GIP参数1: 栅极驱动时序 */
    lcd_wr_data(0x0F);      /* GIP参数2: 栅极输出控制 */
    lcd_wr_data(0x61);      /* GIP参数3: 栅极扫描方向 */
    lcd_wr_data(0xFF);      /* GIP参数4: 栅极信号控制 */
    lcd_wr_data(0x01);      /* GIP参数5: 栅极时序调整 */
    lcd_wr_data(0x01);      /* GIP参数6: 栅极输出调整 */
    lcd_wr_data(0x0B);      /* GIP参数7: 栅极驱动强度 */
    lcd_wr_data(0x10);      /* GIP参数8: 栅极电压设置 */
    lcd_wr_data(0x37);      /* GIP参数9: 栅极时序参数 */
    lcd_wr_data(0x63);      /* GIP参数10: 栅极输出参数 */
    lcd_wr_data(0xFF);      /* GIP参数11: 栅极控制参数 */
    lcd_wr_data(0xFF);      /* GIP参数12: 栅极设置参数 */
    lcd_wr_data(0x01);      /* GIP参数13: 栅极输出优化 */
    lcd_wr_data(0x01);      /* GIP参数14: 栅极时序优化 */
    lcd_wr_data(0x00);      /* GIP参数15: 保留参数 */
    lcd_wr_data(0x00);      /* GIP参数16: 保留参数 */
    lcd_wr_data(0xFF);      /* GIP参数17: 栅极控制扩展 */
    lcd_wr_data(0x52);      /* GIP参数18: 栅极输出扩展 */
    lcd_wr_data(0x01);      /* GIP参数19: 栅极时序扩展 */
    lcd_wr_data(0x00);      /* GIP参数20: 保留参数 */
    lcd_wr_data(0x40);      /* GIP参数21: 栅极驱动最终设置 */

    /* 3. GIP时序控制器配置 - 第二组 */
    lcd_wr_regno(0xBD);     /* GIP 2 - 栅极时序进一步配置 */
    lcd_wr_data(0x01);      /* 栅极时序组合参数1 */
    lcd_wr_data(0x23);      /* 栅极时序组合参数2 */
    lcd_wr_data(0x45);      /* 栅极时序组合参数3 */
    lcd_wr_data(0x67);      /* 栅极时序组合参数4 */
    lcd_wr_data(0x01);      /* 栅极时序组合参数5 */
    lcd_wr_data(0x23);      /* 栅极时序组合参数6 */
    lcd_wr_data(0x45);      /* 栅极时序组合参数7 */
    lcd_wr_data(0x67);      /* 栅极时序组合参数8 */

    /* 4. GIP时序控制器配置 - 第三组 */
    lcd_wr_regno(0xBE);     /* GIP 3 - 栅极输出最终调整 */
    lcd_wr_data(0x00);      /* 栅极输出调整参数1 */
    lcd_wr_data(0x01);      /* 栅极输出调整参数2 */
    lcd_wr_data(0xAB);      /* 栅极输出调整参数3 */
    lcd_wr_data(0x60);      /* 栅极输出调整参数4 */
    lcd_wr_data(0x22);      /* 栅极输出调整参数5-9（相同值） */
    lcd_wr_data(0x22);      
    lcd_wr_data(0x22);      
    lcd_wr_data(0x22);      
    lcd_wr_data(0x22);      

    /* 5. VCOM控制 - 影响显示对比度 */
    lcd_wr_regno(0xC7);     /* VCOM Control */
    lcd_wr_data(0x36);      /* VCOM电压设置，影响显示质量 */

    /* 6. 电压输出使能 */
    lcd_wr_regno(0xED);     /* EN_volt_reg - VGMP/VGMN/VGSP/VGSN电压输出 */
    lcd_wr_data(0x7F);      /* 电压输出使能控制高字节 */
    lcd_wr_data(0x0F);      /* 电压输出使能控制低字节 */

    /* 7. 电源控制寄存器组 - 主要电源设置 */
    lcd_wr_regno(0XC0);     /* Power Control 1 - AVDD/AVEE/VGH/VGL设置 */
    lcd_wr_data(0x0F);      /* AVDD电压设置 */
    lcd_wr_data(0x0B);      /* AVEE电压设置 */
    lcd_wr_data(0x0A);      /* VGH=15V, VGL=-10V */

    /* 8. 内部电荷泵控制 */
    lcd_wr_regno(0XFC);     /* AVDD/AVEE由内部电荷泵产生 */
    lcd_wr_data(0x08);      /* 内部电荷泵使能和参数设置 */

    /* 9. 显示参数调整 */
    lcd_wr_regno(0XDF);     /* 显示参数调整寄存器 */
    lcd_wr_data(0x00);      /* 调整参数1-5（保留） */
    lcd_wr_data(0x00);      
    lcd_wr_data(0x00);      
    lcd_wr_data(0x00);      
    lcd_wr_data(0x00);      
    lcd_wr_data(0x20);      /* 调整参数6（有效值） */

    /* 10. DVDD电压设置 */
    lcd_wr_regno(0XF3);     /* DVDD Voltage Setting */
    lcd_wr_data(0x74);      /* DVDD电压值设置 */

    /* 11. 显示反转类型 */
    lcd_wr_regno(0xB4);     /* Inversion Type */
    lcd_wr_data(0x00);      /* 反转类型参数1 */
    lcd_wr_data(0x00);      /* 反转类型参数2 */
    lcd_wr_data(0x00);      /* 反转类型参数3 */

    /* 12. 分辨率控制 */
    lcd_wr_regno(0xF7);     /* Resolution Control */
    lcd_wr_data(0x82);      /* 480×800分辨率设置 */

    /* 13. 帧率控制 */
    lcd_wr_regno(0xB1);     /* Frame Rate Setting */
    lcd_wr_data(0x00);      /* 帧率控制参数1 */
    lcd_wr_data(0x13);      /* 帧率控制参数2 */
    lcd_wr_data(0x13);      /* 帧率控制参数3，设置为60Hz */

    /* 14. 显示质量调整 */
    lcd_wr_regno(0XF2);     /* CR_EQ_PC_SDT - 显示质量优化 */
    lcd_wr_data(0x80);      /* 质量优化参数1 */
    lcd_wr_data(0x04);      /* 质量优化参数2 */
    lcd_wr_data(0x40);      /* 质量优化参数3 */
    lcd_wr_data(0x28);      /* 质量优化参数4 */

    /* 15. 电源控制寄存器组 - 进一步设置 */
    lcd_wr_regno(0XC1);     /* Power Control 2 - SD OP Bias VRH1 VRH2 */
    lcd_wr_data(0x17);      /* 电源控制参数1 */
    lcd_wr_data(0x88);      /* VGMP电压设置 */
    lcd_wr_data(0x88);      /* VGMN电压设置 */
    lcd_wr_data(0x20);      /* 电源控制参数4 */

    /* 16. 正伽马校正 - 优化色彩显示效果 */
    lcd_wr_regno(0xE0);     /* Positive Gamma Control */
    lcd_wr_data(0x00);      /* P1: 正伽马参数1 */
    lcd_wr_data(0x0A);      /* P2: 正伽马参数2 */
    lcd_wr_data(0x12);      /* P3: 正伽马参数3 */
    lcd_wr_data(0x10);      /* P4: 正伽马参数4 */
    lcd_wr_data(0x0E);      /* P5: 正伽马参数5 */
    lcd_wr_data(0x20);      /* P6: 正伽马参数6 */
    lcd_wr_data(0xCC);      /* P7: 正伽马参数7 */
    lcd_wr_data(0x07);      /* P8: 正伽马参数8 */
    lcd_wr_data(0x06);      /* P9: 正伽马参数9 */
    lcd_wr_data(0x0B);      /* P10: 正伽马参数10 */
    lcd_wr_data(0x0E);      /* P11: 正伽马参数11 */
    lcd_wr_data(0x0F);      /* P12: 正伽马参数12 */
    lcd_wr_data(0x0D);      /* P13: 正伽马参数13 */
    lcd_wr_data(0x15);      /* P14: 正伽马参数14 */
    lcd_wr_data(0x10);      /* P15: 正伽马参数15 */
    lcd_wr_data(0x00);      /* P16: 正伽马参数16 */

    /* 17. 负伽马校正 - 优化色彩显示效果 */
    lcd_wr_regno(0xE1);     /* Negative Gamma Correction */
    lcd_wr_data(0x00);      /* P1: 负伽马参数1 */
    lcd_wr_data(0x0B);      /* P2: 负伽马参数2 */
    lcd_wr_data(0x13);      /* P3: 负伽马参数3 */
    lcd_wr_data(0x0D);      /* P4: 负伽马参数4 */
    lcd_wr_data(0x0E);      /* P5: 负伽马参数5 */
    lcd_wr_data(0x1B);      /* P6: 负伽马参数6 */
    lcd_wr_data(0x71);      /* P7: 负伽马参数7 */
    lcd_wr_data(0x06);      /* P8: 负伽马参数8 */
    lcd_wr_data(0x06);      /* P9: 负伽马参数9 */
    lcd_wr_data(0x0A);      /* P10: 负伽马参数10 */
    lcd_wr_data(0x0F);      /* P11: 负伽马参数11 */
    lcd_wr_data(0x0E);      /* P12: 负伽马参数12 */
    lcd_wr_data(0x0F);      /* P13: 负伽马参数13 */
    lcd_wr_data(0x15);      /* P14: 负伽马参数14 */
    lcd_wr_data(0x0C);      /* P15: 负伽马参数15 */
    lcd_wr_data(0x00);      /* P16: 负伽马参数16 */

    /* 18. 设置显示窗口 - 480×800全屏 */
    lcd_wr_regno(0x2a);     /* Column Address Set */
    lcd_wr_data(0x00);      /* 起始列地址高字节 */
    lcd_wr_data(0x00);      /* 起始列地址低字节 (0) */
    lcd_wr_data(0x01);      /* 结束列地址高字节 */
    lcd_wr_data(0xdf);      /* 结束列地址低字节 (479) */

    lcd_wr_regno(0x2b);     /* Page Address Set */
    lcd_wr_data(0x00);      /* 起始页地址高字节 */
    lcd_wr_data(0x00);      /* 起始页地址低字节 (0) */
    lcd_wr_data(0x03);      /* 结束页地址高字节 */
    lcd_wr_data(0x1f);      /* 结束页地址低字节 (799) */

    /* 19. 像素格式设置 */
    lcd_wr_regno(0x3A);     /* Pixel Format */
    lcd_wr_data(0x55);      /* 16位RGB565格式 */

    /* 20. 内存访问控制 */
    lcd_wr_regno(0x36);     /* Memory Access Control */
    lcd_wr_data(0x00);      /* 设置扫描方向（02为180度旋转） */

    /* 21. 启动显示序列 */
    lcd_wr_regno(0x11);     /* Sleep Out - 退出睡眠模式 */
    delay_ms(120);          /* 等待120ms让显示稳定 */   
    lcd_wr_regno(0x29);     /* Display On - 开启显示输出 */
    delay_ms(20);           /* 等待20ms确保显示开启 */
    lcd_wr_regno(0x2C);     /* Memory Write - 准备写入显存 */
}

/**
 * @brief       SSD1963寄存器初始化代码 
 * @param       无
 * @retval      无
 */
void lcd_ex_ssd1963_reginit(void)
{
    /* SSD1963 LCD控制器初始化序列 - 适用于大尺寸TFT屏幕(如7寸) */
    /* SSD1963是一款高性能的大尺寸LCD控制器，支持RGB接口和内置PLL */
    
    /* 1. PLL配置 - 设置系统时钟为100MHz */
    lcd_wr_regno(0xE2);     /* Set PLL - 配置锁相环 */
    lcd_wr_data(0x1D);      /* N = 29, VCO = OSC*(N+1) = 10*(29+1) = 300MHz */
    lcd_wr_data(0x02);      /* M = 2, PLL = VCO/(M+1) = 300/3 = 100MHz */
    lcd_wr_data(0x04);      /* 验证M和N值有效性 */
    delay_us(100);          /* 等待PLL设置稳定 */
    
    lcd_wr_regno(0xE0);     /* Start PLL Command */
    lcd_wr_data(0x01);      /* 使能PLL */
    delay_ms(10);           /* 等待PLL启动 */
    
    lcd_wr_regno(0xE0);     /* Start PLL Command Again */
    lcd_wr_data(0x03);      /* 使用PLL输出作为系统时钟 */
    delay_ms(12);           /* 等待时钟切换稳定 */
    
    /* 2. 软件复位 */
    lcd_wr_regno(0x01);     /* Software Reset - 复位显示控制器 */
    delay_ms(10);           /* 等待复位完成 */

    /* 3. 设置像素时钟 - 33MHz适合大尺寸屏幕 */
    lcd_wr_regno(0xE6);     /* Set Pixel Clock */
    lcd_wr_data(0x2F);      /* 像素时钟频率设置高字节 */
    lcd_wr_data(0xFF);      /* 像素时钟频率设置中字节 */
    lcd_wr_data(0xFF);      /* 像素时钟频率设置低字节 */

    /* 4. LCD面板接口配置 */
    lcd_wr_regno(0xB0);     /* Set LCD Panel Mode */
    lcd_wr_data(0x20);      /* 24位TFT面板，数据宽度=24位 */
    lcd_wr_data(0x00);      /* TFT模式（非双扫描） */

    /* 5. 设置屏幕分辨率 - 使用宏定义的分辨率 */
    lcd_wr_data((SSD_HOR_RESOLUTION - 1) >> 8); /* 水平分辨率高字节 */
    lcd_wr_data(SSD_HOR_RESOLUTION - 1);        /* 水平分辨率低字节 */
    lcd_wr_data((SSD_VER_RESOLUTION - 1) >> 8); /* 垂直分辨率高字节 */
    lcd_wr_data(SSD_VER_RESOLUTION - 1);        /* 垂直分辨率低字节 */
    lcd_wr_data(0x00);      /* RGB数据序列（非交换） */

    /* 6. 水平时序参数配置 */
    lcd_wr_regno(0xB4);     /* Set Horizontal Period */
    lcd_wr_data((SSD_HT - 1) >> 8);             /* 水平总周期高字节 */
    lcd_wr_data(SSD_HT - 1);                    /* 水平总周期低字节 */
    lcd_wr_data(SSD_HPS >> 8);                  /* 水平同步起始位置高字节 */
    lcd_wr_data(SSD_HPS);                       /* 水平同步起始位置低字节 */
    lcd_wr_data(SSD_HOR_PULSE_WIDTH - 1);       /* 水平同步脉宽 */
    lcd_wr_data(0x00);      /* 保留参数 */
    lcd_wr_data(0x00);      /* 保留参数 */
    lcd_wr_data(0x00);      /* 保留参数 */
    
    /* 7. 垂直时序参数配置 */
    lcd_wr_regno(0xB6);     /* Set Vertical Period */
    lcd_wr_data((SSD_VT - 1) >> 8);             /* 垂直总周期高字节 */
    lcd_wr_data(SSD_VT - 1);                    /* 垂直总周期低字节 */
    lcd_wr_data(SSD_VPS >> 8);                  /* 垂直同步起始位置高字节 */
    lcd_wr_data(SSD_VPS);                       /* 垂直同步起始位置低字节 */
    lcd_wr_data(SSD_VER_FRONT_PORCH - 1);       /* 垂直前沿 */
    lcd_wr_data(0x00);      /* 保留参数 */
    lcd_wr_data(0x00);      /* 保留参数 */

    /* 8. 设置数据接口位宽 */
    lcd_wr_regno(0xF0);     /* Set Pixel Data Interface */
    lcd_wr_data(0x03);      /* 16位数据接口，RGB565格式 */

    /* 9. 开启显示输出 */
    lcd_wr_regno(0x29);     /* Display On - 激活显示输出 */
    
    /* 10. PWM背光控制配置 - SSD1963特有功能 */
    lcd_wr_regno(0xD0);     /* Set Dynamic Backlight Control */
    lcd_wr_data(0x00);      /* 禁用自动白平衡DBC功能 */

    lcd_wr_regno(0xBE);     /* Set PWM Configuration */
    lcd_wr_data(0x05);      /* PWM频率设置 */
    lcd_wr_data(0xFE);      /* PWM占空比设置（接近100%亮度） */
    lcd_wr_data(0x01);      /* PWM控制参数C */
    lcd_wr_data(0x00);      /* PWM控制参数D */
    lcd_wr_data(0x00);      /* PWM控制参数E */
    lcd_wr_data(0x00);      /* PWM控制参数F */

    /* 11. GPIO配置 - 用于控制外部信号 */
    lcd_wr_regno(0xB8);     /* Set GPIO Configuration */
    lcd_wr_data(0x03);      /* 设置GPIO[1:0]为输出模式 */
    lcd_wr_data(0x01);      /* GPIO使用正常IO功能（非特殊功能） */
    
    lcd_wr_regno(0xBA);     /* Set GPIO Value */
    lcd_wr_data(0X01);      /* GPIO[1:0]=01，可用于控制LCD方向或其他功能 */
}
